//
//  Pserson.h
//  08-iOS9新特性
//
//  Created by 402030900@qq.com on 16/7/13.
//  Copyright © 2016年 402030900@qq.com. All rights reserved.
//

#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface Pserson : NSObject
//Nullability (只能对象类型上)是在编译层次上加了一些改动
//nonnull 声明的属性, 不能为空(getter和setter方法)
//@property(nonnull,nonatomic,copy)NSString * name;
// __nonnull 在声明属性的类型后加__nonnull
@property(nonatomic,copy)NSString * __nonnull name;
// nullable 声明的属性,是可以为空(getter 和 setter 方法)
//@property(nullable,nonatomic,copy)NSString * sex;
// __nullable 在声明属性的类型后加__nullable
@property(nonatomic,copy)NSString * __nullable sex;
//null_resetable setter方法是nullable getter方法是nonnull
// 距离,UIViewController中的view属性
@property(null_resettable,nonatomic,strong)NSArray * friends;
// NS_ASSUME_NONNULL_BEGIN
// NS_ASSUME_NONNULL_END
//一般应用于头文件.h 一般将声明包含起来
//针对所有属性,添加nonnull修饰
// 也就是说,除了nullable和null_resettable需要加修饰,其他都不需要
// 不可以象下面这样做
//@property(nonnull,nonatomic,assign)NSInteger number;
@property(nonatomic,assign)NSMutableDictionary * dic;
@end
NS_ASSUME_NONNULL_END